package com.chagee.store.operation.api.response;

import com.chagee.store.operation.api.bo.OrderExtJsonBO;
import com.chagee.store.operation.api.enums.OrderAcceptanceTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 工单页面响应
 */

@Data
public class WorkOrderResponse implements Serializable {

	/**
	 * 主键id
	 */
	private Long id;
	/**
	 * 工单编号
	 */
	private String workOrderNumber;

	/**
	 * 门店编号
	 */
	private String storeCode;

	/**
	 * 门店名称
	 */
	private String storeName;

	/**
	 * 单据类型
	 */
	private Integer documentType;

	/**
	 * 单据状态
	 */
	private Integer documentStatus;

	/**
	 * 工单评分
	 */
	private String documentScore;

	/**
	 * 接单人
	 */
	private String receiver;

	/**
	 * 接单人电话
	 */
	private String receiverMobile;

	/**
	 * 接单人和接单人电话
	 */
	private String receiverAndReceiverMobile;

	/**
	 * 供应商
	 */
	private String supplier;

	/**
	 * 加盟商
	 */
	private String businessName;

	/**
	 * 门店性质 JM:加盟/LY:联营/ZY:直营
	 */
	private String storeCategory;

	/**
	 * 所属子公司名称
	 */
	private String companyName;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	/**
	 * 更新时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	/**
	 * 接单时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date orderReceivingTime;

	/**
	 * 打烊完成时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date closingTime;

	/**
	 * 验收完成时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date acceptanceCompletionTime;


	/**
	 * 3.0产品销售情况
	 */
	private String productThridSalesStatus;

	/**
	 * 开早验收提交方式
	 * @see OrderAcceptanceTypeEnum
	 */
	private String acceptanceType;

	/**
	 * 是否合格
	 */
	private String isQualified;

	/**
	 * 不合格原因
	 */
	private String remark;
	/**
	 * 不合格图片
	 */
	private String remarkPicture;
	/**
	 * 计费开始时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date billingStartDate;
	/**
	 * 结算底价-不可为空
	 */
	private String floorPrice;
	/**
	 * 结算底价(夜间)-可以为空
	 */
	private String nightFloorPrice;

	/**
	 * 供应商id
	 */
	private Long supplierId;

	/**
	 * 扣罚金额
	 */
	private BigDecimal penalizeMoney;

	private OrderExtJsonBO penalizeExtBO;

	/**
	 * 审核申诉按钮
	 */
	private Boolean handleAppealButton;

	/**
	 * 工单过期标识
	 */
	private Boolean orderExpiredFlag;

	/**
	 * 连续任务不合格标识
	 */
	private String continuousAcceptance;

	/**
	 * 申诉标识
	 * @see com.chagee.store.operation.api.enums.OrderAppealTypeEnum
	 */
	private String appealFlag;
}
